The invention disclosed herein relates generally to classification and organization of data items in computer systems. More particularly, the present invention relates to methods and software for recognizing items that satisfy rigid general rules for organizing information, but differ from other items that also satisfy the rules, thereby requiring a user or supervising software process to be notified.
With the rise of networks of digital computers, staggering amounts of information are passed between individuals and computer systems on a daily basis. Whether through email (SMTP), the World Wide Web (HTTP), file transfer (FTP), or data exchanges (EDI), it is clear that the interchange of information has come to define modern existence. Because of this vast information exchange, between individuals and software systems, there are many situations in which rules are created to categorize, filter, or handle data items in an unsupervised fashion.
A common application of a rules system to automate the handling of data items is in electronic mail client applications. Using an electronic mail client application, functionality is provided to establish rules so that incoming mail comprising a specific set of attributes is routed to a desired location, such as a directory on a file system or another user on a network. For example, a user may define a rule specifying that all electronic mail received from the user “John.Doe@anydomain.com” should be routed to an electronic mailbox labeled “John.Doe”. Similarly, complex rules may be defined that include instructing the mail client to perform processing defined by the user on specific electronic mail messages.
There are many situations, however, where a rigid rules based system is not adequate to correctly handle or route every data item received, even data items that fall within the scope of a defined rule. This shortcoming of a rigid rules based system is essentially “over generalization”, that is, catching items that conform to rigid rules, but which the user would not wish to have grouped with other items that satisfy the rule. Over generalization can cause important items to be overlooked or handled in unintended ways. This effect stems from the fact that users may create overly broad rules and because they cannot always anticipate the variety of potential items that may arrive in the future.
In order to overcome the mishandling of received data items that fall within the scope of rigid rules, a user or system is required define a multiplicity of narrowly targeted rules in an attempt to predict every type of data item that is expected to be received in the future. This technique is undesirable for many reasons. First, as with over generalization, it is nearly impossible to identify and create a rule to handle every data item that is to be received by a user or system; some data items inevitably are mishandled due to unidentified exceptions to a rule that are not recognized in advance. Another reason this technique is undesirable is the amount of time required to create a rule to handle every data item expected to be received, in addition to creating exceptions to the rules. Indeed, one would need to be able to divine the future to anticipate every exception to every rule created.
There is thus a need for a system and method for automatically recognizing and flagging extraordinary or exceptional data items that nonetheless satisfy a rigid rule. Flagging these extraordinary or exceptional data items that meet the criteria defined by a rigid rule ensures that these data items requiring the attention of a user or software process are not overlooked or handled in unintended ways.